package com.hbnu.thread;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class ThreadTest {
    public static void main(String[] args) {



        //线程创建方式：继承Thread类
//        ThreadDemo1 threadDemo1 = new ThreadDemo1();        //线程对象
//
//        threadDemo1.start();

//        //线程创建方式2，实现Runnable接口
//        ThreadDemo2 threadDemo2 = new ThreadDemo2();
//        Thread thread = new Thread(threadDemo2);                //将thread对象放到线程对象中
//
//        thread.start();
//
//
//
//
//        //线程创建方法，创建一个匿名内部类线程
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                for (int i = 0; i < 100; i++) {
//                    System.out.println("线程创建方式二："+i);
//                }
//            }
//        }).start();
//
//        //lamuda表达式创建线程，更加极简抽象
//        new Thread(() ->{
//            for (int i = 0; i < 100; i++) {
//                System.out.println("线程创建方法二："+i);
//            }
//        }).start();


//        //通过Callable接口创建线程
//        ThreadDemo3 threadDemo3 = new ThreadDemo3();
//        FutureTask<String> stringFutureTask = new FutureTask<>(threadDemo3);
//        Thread thread = new Thread(stringFutureTask);
//        thread.start();
//
//        for (int i = 1; i < 100; i+=2) {
//            System.out.println(i);
//        }
//
//        String result = null;
//        try {
//            result = stringFutureTask.get();
//            System.out.println("线程返回值："+result);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }



        new Thread(() ->{
            for (int i = 0; i < 100; i+=2) {
                System.out.println("第一个线程输出偶数:"+i);
            }
        }).start();

        new Thread(() ->{
            for (int i = 1; i < 100; i+=2) {
                System.out.println("第二个线程输出奇数:"+i);
            }
        }).start();




    }
}
